package com.yutel.system.struts.extjs;

public class ExtjsPanel {
	public void test(){
		sb.append("var vp = new Ext.Viewport({ \n");
		sb.append("  layout : 'border',\n");
		sb.append("  items : [{\n");
		sb.append("     title :'north',\n");
		sb.append("     region : 'north',\n");
		sb.append("     height : 70,\n");
		sb.append("     html :'ggggggggggggg'\n");
		sb.append("    }, {\n");
		sb.append("     title :'center',\n");
		sb.append("     region : 'center',\n");
		sb.append("     html :'centesdfdsf',\n");
		sb.append("    }]\n");
		sb.append("}); \n");
	}
	public void test2(){
		sb.append("yutel.mod.modMainPanel = Ext.extend(Ext.Panel, {\n");
		sb.append("  initComponent : function() {\n");
		sb.append("   Ext.apply(this, {\n");
		sb.append("     id : 'mainid',\n");
		sb.append("     frame : true,\n");
		sb.append("     border : true,\n");
		sb.append("     layout : 'border',\n");
		sb.append("     items : [{\n");
		sb.append("     title :'north',\n");
		sb.append("     region : 'north',\n");
		sb.append("     height : 70,\n");
		sb.append("     html :'ggggggggggggg'\n");
		sb.append("    }, {\n");
		sb.append("     title :'center',\n");
		sb.append("     region : 'center',\n");
		sb.append("     html :'centesdfdsf',\n");
		sb.append("    }]\n");
		sb.append("   });\n");
		sb.append("  yutel.mod.modMainPanel.superclass.initComponent.call(this);\n");
		sb.append(" }\n");
		sb.append("})\n");
		sb.append("\n");
	}
	public void mainPanel(){
		sb.append("var mainPanel = new Ext.Panel({\n");
		sb.append("layout : 'border',\n");
		sb.append("renderTo:'modelDiv',");
		sb.append("items :[new yutel.ui.QueryForm({region : 'north'}),new yutel.ui.ResultList({region : 'center'})]\n");
		sb.append("});");
	}
	public void queryPanel(){
		sb.append("yutel.ui.QueryForm = Ext.extend(Ext.FormPanel, {\n");
		sb.append("reset : function() {\n");
		sb.append("this.getForm().reset();\n");
		sb.append("},\n");
		sb.append("initComponent : function() {\n");
		sb.append("var panel = this;\n");
		sb.append("var firstColumn = {\n");
		sb.append("layout : 'form',\n");
		sb.append("columnWidth :0.5,\n");
		sb.append("items : [{\n");
		sb.append("fieldLabel : '产品名称',\n");
		sb.append("xtype : 'textfield',\n");
		sb.append("name : 'pdom.name',\n");
		sb.append("maxLength : 60\n");
		sb.append("}, {\n");
		sb.append("fieldLabel : '产品编码',\n");
		sb.append("xtype : 'hidden',\n");
		sb.append("maxLength : 10,\n");
		sb.append("name : 'pdom.code'\n");
		sb.append("}, {\n");
		sb.append("fieldLabel : '类型',\n");
		sb.append("xtype : 'hidden',\n");
		sb.append("maxLength : 10,\n");
		sb.append("name : 'pdom.type',\n");
		sb.append("value : '1'\n");
		sb.append("}]\n");
		sb.append("};\n");
		sb.append("var secondColumn = {\n");
		sb.append("layout : 'form',\n");
		sb.append("columnWidth :0.5,\n");
		sb.append("items : [{\n");
		sb.append("fieldLabel : '台份号',\n");
		sb.append("xtype : 'textfield',\n");
		sb.append("maxLength : 10,\n");
		sb.append("name : 'pdom.setNum'\n");
		sb.append("}, {\n");
		sb.append("fieldLabel : '数量',\n");
		sb.append("xtype : 'hidden',\n");
		sb.append("maxLength : 20,\n");
		sb.append("name : 'pdom.amount'\n");
		sb.append("}]\n");
		sb.append("};\n");
		sb.append("Ext.apply(this, {\n");
		sb.append("title : '产品查询',\n");
		sb.append("autoScroll : true,\n");
		sb.append("height : 90,\n");
		sb.append("frame : true,\n");
		sb.append("border : true,\n");
		sb.append("onSubmit : Ext.emptyFn,\n");
		sb.append("labelAlign : 'right',\n");
		sb.append("layout : 'column',\n");
		sb.append("items : [firstColumn, secondColumn],\n");
		sb.append("bbar : [{\n");
		sb.append("text : '查询',\n");
		sb.append("handler : function(btn) {\n");
		sb.append("var userStore = Ext.getCmp('xtPdomPanel').items.itemAt(0).items.itemAt(1).items.itemAt(1).getStore();\n");
		sb.append("userStore.baseParams=panel.getForm().getValues(false);\n");
		sb.append("userStore.load();\n");
		sb.append("}\n");
		sb.append("},{\n");
		sb.append("text : '重置',\n");
		sb.append("handler : function() {\n");
		sb.append("panel.reset();\n");
		sb.append("}}]\n");
		sb.append("});\n");
		sb.append("yutel.ui.QueryForm.superclass.initComponent.call(this);\n");
		sb.append("}\n");
		sb.append("});\n");
	}
	public void listPanel(){
		sb.append("yutel.ui.ResultList = Ext.extend(Ext.grid.GridPanel, {\n");
		sb.append("initComponent : function() {\n");
		sb.append("// 产品模板列模式定义\n");
		sb.append("var templateGridPanel = this;\n");
		sb.append("var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),\n");
		sb.append("{\n");
		sb.append("header : '产品ID',\n");
		sb.append("dataIndex : 'productId',\n");
		sb.append("sortable : true,\n");
		sb.append("hidden : true\n");
		sb.append("}, {\n");
		sb.append("header : '产品名称',\n");
		sb.append("dataIndex : 'name',\n");
		sb.append("sortable : true\n");
		sb.append("}, {\n");
		sb.append("header : '产品编码',\n");
		sb.append("dataIndex : 'code',\n");
		sb.append("sortable : true\n");
		sb.append("}, {\n");
		sb.append("header : '台份号',\n");
		sb.append("dataIndex : 'setNum',\n");
		sb.append("sortable : true\n");
		sb.append("}, {\n");
		sb.append("header : '数量',\n");
		sb.append("dataIndex : 'amount',\n");
		sb.append("sortable : true\n");
		sb.append("}, {\n");
		sb.append("header : '类型',\n");
		sb.append("dataIndex : 'type',\n");
		sb.append("hidden : true,\n");
		sb.append("sortable : true\n");
		sb.append("}, {\n");
		sb.append("header : '备注',\n");
		sb.append("dataIndex : 'remark',\n");
		sb.append("sortable : true\n");
		sb.append("},{\n");
		sb.append("header : '是否模板',\n");
		sb.append("dataIndex : 'ifTemplate',\n");
		sb.append("sortable : true\n");
		sb.append("}]);\n");
		sb.append("\n");
		sb.append("var ds = new Ext.data.Store({\n");
		sb.append("autoLoad : false,\n");
		sb.append(" baseParams : {\n");
		sb.append(" productId:1,\n");
		sb.append(" type:1\n");
		sb.append(" },\n");
		sb.append("proxy : new Ext.data.HttpProxy({\n");
		sb.append("url : 'listByPdom.action'\n");
		sb.append("}),\n");
		sb.append("reader : new Ext.data.JsonReader({\n");
		sb.append("totalProperty : 'totalProperty',\n");
		sb.append("root : 'root'\n");
		sb.append("}, [{\n");
		sb.append("name : 'productId',\n");
		sb.append("type : 'int'\n");
		sb.append("}, {\n");
		sb.append("name : 'name',\n");
		sb.append("type : 'string'\n");
		sb.append("}, {\n");
		sb.append("name : 'code',\n");
		sb.append("type : 'string'\n");
		sb.append("}, {\n");
		sb.append("name : 'setNum',\n");
		sb.append("type : 'string'\n");
		sb.append("}, {\n");
		sb.append("name : 'amount',\n");
		sb.append("type : 'string'\n");
		sb.append("}, {\n");
		sb.append("name : 'type',\n");
		sb.append("type : 'string'\n");
		sb.append("}, {\n");
		sb.append("name : 'remark',\n");
		sb.append("type : 'string'\n");
		sb.append("}, {\n");
		sb.append("name : 'ifTemplate',\n");
		sb.append("type : 'string'\n");
		sb.append("}])\n");
		sb.append("});\n");
		sb.append("Ext.apply(this, {\n");
		sb.append("title : '产品列表',\n");
		sb.append("border : true,\n");
		sb.append("frame : true,\n");
		sb.append("autoScroll : true,\n");
		sb.append("autoHeight : false,\n");
		sb.append("bodyStyle : 'width:100%',\n");
		sb.append("loadMask : {\n");
		sb.append("msg : '数据加载中...'\n");
		sb.append("},\n");
		sb.append("viewConfig : {\n");
		sb.append("forceFit : true\n");
		sb.append("},\n");
		sb.append("cm : cm,\n");
		sb.append("ds : ds,\n");
		sb.append("sm : new Ext.grid.RowSelectionModel({\n");
		sb.append("singleSelect : false\n");
		sb.append("}),\n");
		sb.append("bbar : new Ext.PagingToolbar({\n");
		sb.append("pageSize : 20,\n");
		sb.append("store : ds,\n");
		sb.append("displayInfo : true,\n");
		sb.append("displayMsg : '第 {0} - {1} 条  共 {2} 条',\n");
		sb.append("emptyMsg : '没有记录'\n");
		sb.append("}),\n");
		sb.append("enableColumnMove : false,\n");
		sb.append("clicksToEdit : 1\n");
		sb.append("});\n");
		sb.append("yutel.ui.ResultList.superclass.initComponent.call(this);\n");
		sb.append("// 添加鼠标提示事件响应\n");
		sb.append("this.addListener('afteredit', function(e) {}, this);\n");
		sb.append("}\n");
		sb.append("});\n");
	}
	public void body(){
		queryPanel();
		listPanel();
		mainPanel();
	}
	public static void main(String[] args){
		ExtjsPanel ep=new ExtjsPanel();
//		ep.queryPanel();
//		ep.listPanel();
//		ep.mainPanel();
		ep.test2();
		System.out.println(ep.getSb().toString());
	}
	
	public ExtjsPanel() {
		sb=new StringBuffer();
	}

	private StringBuffer sb;
	public StringBuffer getSb() {
		return sb;
	}
	public void setSb(StringBuffer sb) {
		this.sb = sb;
	}

}
